崇祯十五年四月底,李自成包围了开封。这座中原最富庶的城市,此时正控制在周王朱恭枵的手上。据担任过开封推官的黄澍给崇祯皇帝的奏疏,他“以保甲为名”进行人口统计,得到的数据是开封城有“实在人丁三十七万八千有零”。若再考虑到那些为躲避兵灾而入城者,城内民众应该超过了四十万——《汴围湿衿录》里说,“外邑大户、在野庶民,避寇入城者又二万余户”,按每户四人计,当有八万余人。再加上守城军队,城内军民共计约在五十万左右。李自成此前已两次攻击开封,均以失败告终。这一次,他决定改变策略,将“城内军民众多”这一对明政府极有利之事(意味着有大量的人力可供汲取),变成对自己有利的因素。这策略就是:“围而勿攻”,“匝围软困,督同各贼割四野之麦,一穗靡遗,为久困计”。将开封城团团包围起来,不急着进攻。致力于断绝城内补给,将城外粮食全部收割,一粒麦穗都不留。断绝补给后,城内的数十万民众,便不再是明政府的优势。五月份(旧历),城内的缺粮问题开始凸显,“客粮已尽,民粮不卖”。为缓解缺粮压力,周王及城中官吏一度允许民众出城打草、挖野菜。民众则试图趁机逃出城去。一位叫孙忠的铁匠自造了一堆箭镞,一位叫霍婆子的民妇带着周王府的情报,前去投奔李自成军。他们希望用这些东西,向“天兵老爷”(孙忠手折中对李自成军的称呼)换取自由。但“天兵老爷”更愿意将他们送回城里——霍婆子便被勒令回城,要她将周王府的宫女诱出,以提供更多情报。城内的守军很快也意识到了放纵民众出城绝非好事。他们抓住了身怀降书的孙忠和携带金银归来的霍婆子。六月份,守军将各处出城关口封闭,利用荆棘与恶犬,“昼夜严防”民众出城。开封人王紫绶,后来写了一首诗,叫做《大梁宫人行》,如此描述这段惨事:五月开门放人出,六月闭门防人逸。将军密计抚军颌,肥瘠皆堪充军食。所谓“肥瘠皆堪充军食”,指的便是吃人肉。与其放纵民众出城投奔李自成军,不如将他们关在城内充当军粮。六、七月份,城内民众“十室九空,饿死者十之三”。官府开设粥棚之处,每日里有数百人死于拥挤践踏。八月份,城中“巡兵”终于开始吃人。他们利用巡城的职务之便,秘密杀戮普通民众,留下躯体食用,首级或拿去周王府领赏,或以“三、四金”的高价将人头卖给民众为粮。周王与河南巡抚觉得事态怪异,下令要求“擒活贼”,遂再无献首级领功者,但杀人吃人依旧。民国时期残存的开封周王府建筑同期,官府为了搜粮已在开封城内掘地三尺。为逼出粮来,搜粮队“每至一家,以大针数百钻稚子肤,锤炼之方极其哀惨”,拿钢针往小孩子身上狠扎,用孩子的惨叫逼迫父母交粮。多数情况是,再如何扎孩子,父母也交不出粮来,因为他们没有粮。普遍性的吃人,便成了顺理成章的选择。八月下旬,城中民众已将皮袄、靴子、箱子、马鞍、草、虫、胶泥、马粪全部吃光。八月末,“父食子、妻食夫、兄食弟、姻亲相食”的情况,在城内已非常普遍。时人称,白骨遍地,“不可问矣”。甚至连吃法,也从熟食退化为生食。前文提到的那位开封推官黄澍,他的夫人当时正在坐月子,于吃肉包时吃出一根人的手指,遂“惊悸而毙”。九月初,开封城已成人间炼狱。开封人周在浚在《大梁守城记》里描述当日情形:“城中胔骼山积,断发满路,天日为昏,存者十之一二,枯垢如鬼,河墙下敲掇人骨,吸其髓。自曹门至北门,兵丁日饿死三、四百人。”李自成期望中的胜利——破城,似乎已指日可待。但他最终没能如愿。因为有人比他更狠。他为了夺取开封,可以不惜饿死城中数十万民众;城中的周王及明朝官吏,同样可以为了能够逃生并推卸“陷藩”的责任,不惜以城内数十万民众的性命为代价——他们孤注一掷,掘开了比开封城墙还要高的黄河大堤。九月十六日,黄河水汹涌扑向开封城。城外的李自成军迅速转移至高地,围城状态被破。城内士兵尝试堵塞城门,但河水“乘风鼓浪,声如雷,水头高丈余”,瓦解了他们的螳臂当车。十七日,开封城整个沦为泽国。周王朱恭枵率宫妃及诸王,与城内核心官僚一起,共计数百人,在大水进城之前,便已登上了王府最高的城楼。十八日,他们被河北来的明军用船接走。幸存民众攀援在城头、屋顶和树尖上,目送朱恭枵一行安然离去。只有大约两万人,熬过了李自成制造的吃人地狱,逃过了明朝政府(据黄澍披露,决堤之事曾向崇祯报备,获得认可)制造的无边汪洋,在这场残酷的围城中存活下来。描述真实发生过的历史不需要想象力。因为,它会不断突破现代人的想象力。崇祯十五年的“开封围城”,不过是其中很普通的一例。